package com.kabigon.tiny.server;

import io.vertx.core.Vertx;
import lombok.extern.slf4j.Slf4j;

@Slf4j
public class VertxHttpServer implements HttpServer {
    @Override
    public void doStart(int port) {
        //创建 vert.x 实例
        Vertx vertx = Vertx.vertx();
        //创建 Http 服务器
        io.vertx.core.http.HttpServer server = vertx.createHttpServer();

        // 监听端口并处理请求
        server.requestHandler(new HttpServerHandler());
        // server.requestHandler(request -> {
        //    // 处理 http 请求
        //    log.info("Received request：{}, {}", request.method(), request.uri());
        //    // 发送 http 响应
        //    request.response()
        //            .putHeader("content-type", "text.plain")
        //            .end("Hello from Vert.x HTTP server!");
        //
        //
        //
        //});

        // 启动 Http 服务器并监听指定端口
        server.listen(port, result -> {
            if (result.succeeded()) {
                log.info("Server is now listening on port {}", port);
            } else {
                log.error("Failed to start server：{}", result.cause());
            }
        });


    }
}
